Philipp Stephani [Fri, 29 Dec 2017 20:58:07 +0000 (21:58 +0100)]
Improve error message for old-style backquotes
* src/lread.c (load_error_old_style_backquotes): Improve error message
if no file is being loaded.
* test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
Adapt test.
Philipp Stephani [Fri, 29 Dec 2017 20:50:55 +0000 (21:50 +0100)]
Add new variable to force new-style backquote interpretation.
* src/lread.c (syms_of_lread): Add new variable
'force-new-style-backquotes'.
(read_internal_start): Use it.
* test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
New test.
* etc/NEWS: Document new variable.
Philipp Stephani [Sun, 7 Jan 2018 13:14:38 +0000 (14:14 +0100)]
Revert "Prevent name clashes between CL structures and builtin types"
This reverts commit
151496a4b96430924bc148f85b9c8471d1e132b1.
That commit breaks bootstrap builds due to a cyclic dependency.
Philipp Stephani [Sun, 31 Dec 2017 16:43:43 +0000 (17:43 +0100)]
Ignore escape characters for context-sensitive quotes (Bug#29812)
* lisp/electric.el (electric-quote-post-self-insert-function): Skip
over escape characters when determining whether a context-sensitive
quote should be opening or closing.
* test/lisp/electric-tests.el
(electric-quote-replace-double-escaped-open)
(electric-quote-replace-double-escaped-close): New unit tests.
Philipp Stephani [Sun, 31 Dec 2017 17:05:03 +0000 (18:05 +0100)]
Fix a small bug in electric quoting.
Before this commit, if 'electric-quote-replace-double' is non-nil,
typing " '" turned into " ‘" even if
'electric-quote-context-sensitive' was nil.
* lisp/electric.el (electric-quote-post-self-insert-function): Insert
context-sensitive double quote only if the last character is actually
a double quote character.
* test/lisp/electric-tests.el
(electric-quote-replace-double-no-context-single): New unit test.
Philipp Stephani [Thu, 21 Dec 2017 17:25:49 +0000 (18:25 +0100)]
Prevent name clashes between CL structures and builtin types
* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
structures with the same names as builtin types.
(cl--struct-name-p): New helper function.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
with the same names as builtin types.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
* test/lisp/emacs-lisp/cl-preloaded-tests.el
(cl-struct-define/builtin-type): New unit tests.
* etc/NEWS: Document changed behavior.
Alan Mackenzie [Sun, 7 Jan 2018 11:16:52 +0000 (11:16 +0000)]
* fns.c (base64-decode-region): Add signal_after_change call for insertion.
Noam Postavsky [Sun, 7 Jan 2018 02:16:33 +0000 (21:16 -0500)]
Revert "Fix command repetition with lexical-binding (Bug#29334)"
It does not work with more complicated interactive forms, because
byte-compile-lambda actually receives an intermediate form of code
rather than valid lisp source (Bug#29988).
* src/callint.c (Fcall_interactively):
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Revert previous
change, and update commentary.
Alan Third [Sat, 23 Dec 2017 11:00:35 +0000 (11:00 +0000)]
Allow setting tooltip colors in NS port
* src/nsfns.m (Fx_show_tip): Get face colors and apply them to the
tooltip.
* src/nsmenu.m (EmacsTooltip::setBackgroundColor):
(EmacsTooltip::setForegroundColor): New functions.
* src/nsterm.h (EmacsTooltip::setBackgroundColor):
(EmacsTooltip::setForegroundColor): New function prototypes.
Alan Mackenzie [Sat, 6 Jan 2018 20:15:04 +0000 (20:15 +0000)]
Make transpose-regions invoke before-change-functions only once.
In the case of two non-contiguous regions the same size, transpose-regions has
been calling before-change-functions twice, once for each region. It now
calls it just once, for the minimal region spanning both single regions.
* src/editfns.c (Ftranspose_regions): Combine two calls of modify_text into
one.
Michael Albinus [Sat, 6 Jan 2018 18:36:22 +0000 (19:36 +0100)]
Minor tramp-gvfs.el cleanup
* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Move up.
(top): Delete goa methods only when `tramp-gvfs-enabled' is not nil.
Michael Albinus [Fri, 5 Jan 2018 20:04:39 +0000 (21:04 +0100)]
Add new Tramp connection method "owncloud"
* doc/misc/tramp.texi (all): Use @acronym{GNOME} thoroughly.
(Using GNOME Online Accounts based methods): Rename from
"Using Google Drive". Add `owncloud'.
(GVFS based methods): Add `owncloud'.
* etc/NEWS: Add Tramp connection method "owncloud".
* lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "owncloud".
Remove goa methods if not supported.
(tramp-goa-methods, tramp-goa-service, tramp-goa-path)
(tramp-goa-path-accounts, tramp-goa-interface-documents)
(tramp-goa-interface-printers, tramp-goa-interface-files)
(tramp-goa-interface-contacts, tramp-goa-interface-calendar)
(tramp-goa-interface-oauth2based)
(tramp-goa-interface-account, tramp-goa-identity-regexp)
(tramp-goa-interface-mail, tramp-goa-interface-chat)
(tramp-goa-interface-photos, tramp-goa-path-manager)
(tramp-goa-interface-documents)
(tramp-gvfs-owncloud-default-prefix)
(tramp-gvfs-owncloud-default-prefix-regexp): New defconst.
(tramp-goa-name): New defstruct.
(tramp-gvfs-stringify-dbus-message): Handle all consp messages.
(tramp-dbus-function, tramp-gvfs-get-remote-prefix)
(tramp-get-goa-accounts): New defun.
(with-tramp-dbus-call-method): Use it.
(with-tramp-dbus-get-all-properties): New defmacro.
(tramp-gvfs-url-file-name)
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
Map between "owncloud" and "davs".
(tramp-gvfs-maybe-open-connection): Set "vector" connection property.
* test/lisp/net/tramp-tests.el (tramp-gvfs-handler-askquestion):
Suppress run in tests.
(tramp--test-owncloud-p): New defun.
(tramp-test11-copy-file, tramp-test12-rename-file): Use it.
Jay Kamat [Fri, 22 Dec 2017 23:34:44 +0000 (15:34 -0800)]
Make eshell history expansion more like bash (Bug#29821)
- Prevent expansion of quick substitutions when the initial "^" is not
at start of line (Bug#29157).
- Allow spaces inside substitutions, so "^foo bar^baz" works.
- Allow trailing characters after substitution, so "^foo^bar^trailing"
works.
- Throw an error when substitution does not match.
* lisp/eshell/em-hist.el (eshell-expand-history-references): Expand
history substitution before other types of expansions, and expand them
with the whole line.
(eshell-history-substitution): New function to expand only
substitutions, taking in the entire typed line rather than individual
arguments.
Michael Albinus [Thu, 4 Jan 2018 11:58:42 +0000 (12:58 +0100)]
Improve backward compatibility in tramp-archive
* lisp/net/tramp-archive.el
(tramp-archive-handle-temporary-file-directory):
Use `tramp-compat-temporary-file-directory'.
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test37-make-nearby-temp-file):
Wrap `temporary-file-directory' call with `with-no-warnings'.
Michael Albinus [Thu, 4 Jan 2018 11:48:07 +0000 (12:48 +0100)]
Write proper `write-region' message in Tramp backends
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
Write proper message.
* lisp/net/tramp.el (tramp-message-show-message): Change default.
* test/lisp/net/tramp-tests.el (ert-x): Require it.
(tramp-test10-write-region): Extend test.
Noam Postavsky [Fri, 24 Nov 2017 02:57:09 +0000 (21:57 -0500)]
Fix command repetition with lexical-binding (Bug#29334)
`call-interactively' relies on analyzing the source of `interactive'
forms in order to preserve arguments like (region-end) in the command
history, rather than just storing the resulting position. However,
the byte-compiler does not preserve the source of the interactive form
when lexical-binding is in effect, because `call-interactively' would
evaluate the form with dynamic binding in that case.
To fix this, change `call-interactively' so that it checks compiled
functions for lexical-binding as well. Then the byte-compiler can
preserve the source of interactive forms regardless of the value of
lexical-binding.
* src/callint.c (Fcall_interactively): Functions compiled with
lexical-binding have their arglist encoded as an integer, use this to
choose the right kind of binding for compiled functions too.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Preserve the
uncompiled form of the interactive form when lexical-binding is
enabled too.
Paul Eggert [Wed, 3 Jan 2018 06:38:01 +0000 (22:38 -0800)]
Fix .gdbinit to work with Lisp_Word
Problem reported by Stefan Monnier (Bug#29957).
* src/.gdbinit (xgetptr, xgetint, xgettype):
Cast Lisp_Word value to EMACS_INT, since it might be a pointer now.
Stephen Leake [Tue, 2 Jan 2018 13:28:06 +0000 (07:28 -0600)]
Fix description of 'struct' generic function specializer
* doc/lispref/functions.texi (Generic Functions): Fix description of
'struct' specializer; it must be the named struct or a child, not a
parent.
Michael Albinus [Tue, 2 Jan 2018 10:25:21 +0000 (11:25 +0100)]
Remove superfluous test data for Tramp
Glenn Morris [Mon, 1 Jan 2018 12:29:05 +0000 (07:29 -0500)]
; Auto-commit of loaddefs files.
Paul Eggert [Mon, 1 Jan 2018 09:44:58 +0000 (01:44 -0800)]
* etc/NEWS: Improve -fcheck-pointer-bounds wording.
Paul Eggert [Mon, 1 Jan 2018 09:24:45 +0000 (01:24 -0800)]
Merge from gnulib, mostly to fix copyright years
Paul Eggert [Mon, 1 Jan 2018 09:15:39 +0000 (01:15 -0800)]
Update copyright year to 2018
Run admin/update-copyright.
Paul Eggert [Mon, 1 Jan 2018 09:13:04 +0000 (01:13 -0800)]
Merge from origin/emacs-26
63b04c11d5 Fix copyright years by hand
5c7dd8a783 Update copyright year to 2018
220a9ecba1 Merge from Gnulib
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
39ca289a7a Allow customization of decoding of "man" command
f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
acd289c5a4 Fix problems with indexing in User manual
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
5b38406491 Fix documentation of delsel and of killing text
# Conflicts:
# etc/NEWS
# etc/refcards/ru-refcard.tex
Paul Eggert [Mon, 1 Jan 2018 09:02:09 +0000 (01:02 -0800)]
Fix copyright years by hand
These are dates that admin/update-copyright did not update, or
updated incorrectly.
Paul Eggert [Mon, 1 Jan 2018 08:21:42 +0000 (00:21 -0800)]
Update copyright year to 2018
Run admin/update-copyright.
Paul Eggert [Mon, 1 Jan 2018 01:19:57 +0000 (01:19 +0000)]
Merge from Gnulib
This incorporates:
2018-01-01 maint: Run 'make update-copyright'
2017-12-29 Add cross-compilation results for GNU/Hurd.
2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
Gemini Lasswell [Mon, 18 Dec 2017 18:08:59 +0000 (10:08 -0800)]
Don't add empty keyboard macro to macro ring (Bug#24992)
* lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
macro if it is empty.
* test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
Remove expected failure tag.
Eli Zaretskii [Sun, 31 Dec 2017 16:20:12 +0000 (18:20 +0200)]
Allow customization of decoding of "man" command
* lisp/man.el (Man-coding-system): New defcustom.
(Man-start-calling): Use it, and also pay attention to user
overriding coding-system-for-read. (Bug#29872)
Daiki Ueno [Sun, 31 Dec 2017 04:37:17 +0000 (05:37 +0100)]
* etc/NEWS: Add security consideration note on passphrase input
Philipp Stephani [Sat, 23 Dec 2017 16:56:36 +0000 (17:56 +0100)]
Improve error reporting when serializing non-Unicode strings to JSON
* src/coding.c (utf8_string_p): New helper function.
(syms_of_coding) <utf-8-unix>: Move from json.c.
* src/json.c (json_check_utf8): New helper function.
(lisp_to_json_toplevel_1, lisp_to_json): Use it. To save a bit of
time, check for invalid UTF-8 strings only after encountering an
error, since Jansson already rejects them.
* test/src/json-tests.el (json-serialize/invalid-unicode): Adapt
expected error symbol.
David McFarland [Sat, 30 Dec 2017 11:14:32 +0000 (13:14 +0200)]
Fix regex stack overflow in gdb-mi.el when parsing complex locals
* lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer): Skip string
literals with (forward-sexp) instead of matching with regex.
(Bug#29868)
Copyright-paperwork-exempt: yes
Sebastian Reuße [Sat, 30 Dec 2017 10:41:23 +0000 (12:41 +0200)]
Fix output alignment in 'find-dired' for "ls -h"
* lisp/find-dired.el (find-dired-filter): Fix alignment of
the file size column when the -h ls option is used in
'find-ls-option'. (Bug#29803)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Fri, 29 Dec 2017 21:41:20 +0000 (23:41 +0200)]
Fix subtle problem with scroll-down when scroll-margin is nonzero
* src/window.c (window_scroll_pixel_based): Account for
scroll-margin when scrolling down, i.e. moving window-start
towards the beginning of the buffer. Reported by zhang cc
<ccsmile2008@outlook.com> in
http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
Eli Zaretskii [Fri, 29 Dec 2017 16:04:57 +0000 (18:04 +0200)]
Fix problems with indexing in User manual
* doc/emacs/basic.texi (Continuation Lines, Inserting Text)
(Moving Point):
* doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
* doc/emacs/trouble.texi (Quitting):
* doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
* doc/emacs/custom.texi (Modifier Keys, Init Examples)
(Creating Custom Themes):
* doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
(Basic Indent, Info Lookup, Symbol Completion):
* doc/emacs/screen.texi (Echo Area):
* doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
* doc/emacs/display.texi (Line Truncation, Cursor Display):
* doc/emacs/files.texi (File Names, Backup, File Archives):
* doc/emacs/dired.texi (Operating on Files, Dired Enter):
* doc/emacs/commands.texi (User Input):
* doc/emacs/mule.texi (International, Unibyte Mode)
(International Chars):
* doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
(CVS Options):
* doc/emacs/modes.texi (Major Modes, Minor Modes):
* doc/emacs/indent.texi (Just Spaces):
* doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
(Frame Commands):
* doc/emacs/cmdargs.texi (Initial Options):
* doc/emacs/abbrevs.texi (Dabbrev Customization):
* doc/emacs/mini.texi (Completion Example, Completion Commands):
* doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
(From Other Calendar):
* doc/emacs/regs.texi (Text Registers, Bookmarks):
* doc/emacs/buffers.texi (Several Buffers, Select Buffer):
* doc/emacs/maintaining.texi (Xref Commands):
* doc/emacs/windows.texi (Pop Up Window):
* doc/emacs/text.texi (Text, Org Mode):
* doc/emacs/killing.texi (Other Kill Commands):
* doc/emacs/misc.texi (Document View, Gnus Group Buffer)
(Gnus Summary Buffer, Shell Mode):
* doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
redundant identical index entries.
* doc/emacs/custom.texi (Mouse Buttons)
* doc/emacs/files.texi (Reverting): Fix hyphenation.
* doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
* doc/emacs/files.texi (File Conveniences):
* doc/emacs/programs.texi (MixedCase Words): Make entries that
belong to Concept Index be indexed with @cindex. (Bug#29888)
Alan Mackenzie [Fri, 29 Dec 2017 09:54:03 +0000 (09:54 +0000)]
* lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
Eric Abrahamsen [Thu, 28 Dec 2017 20:04:13 +0000 (12:04 -0800)]
Make gnus-alter-articles-to-read-function a constant lambda
* lisp/gnus/gnus-sum.el (gnus-alter-articles-to-read-function):
Default to a no-op lambda form, mention the use of `add-function' in
the docstring.
* lisp/gnus/gnus-sum.el (gnus-articles-to-read): Check if the option
value is callable.
Stefan Monnier [Thu, 28 Dec 2017 19:13:10 +0000 (14:13 -0500)]
* lisp/net/ange-ftp.el: Use lexical-binding
Stefan Monnier [Thu, 28 Dec 2017 19:03:07 +0000 (14:03 -0500)]
* src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
Don't mess with the lock file when inhibit_modification_hooks is set,
just like we do in prepare_to_modify_buffer_1.
Eli Zaretskii [Thu, 28 Dec 2017 17:23:34 +0000 (19:23 +0200)]
Improve documentation of 'inhibit-modification-hooks' and friends
* src/buffer.c (Fset_buffer_modified_p)
(Frestore_buffer_modified_p): Doc fixes.
* src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
Document in the doc string that this variable also inhibits file
locks and active region handling. (Bug#29846)
David Pathakjee [Thu, 28 Dec 2017 16:59:42 +0000 (18:59 +0200)]
Fix doc string of 'enable-recursive-minibuffers'
* src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
Doc fix. (Bug#29873)
Copyright-paperwork-exempt: yes
Michael Albinus [Thu, 28 Dec 2017 10:26:28 +0000 (11:26 +0100)]
Fix Bug#29874
* lisp/net/ange-ftp.el (ange-ftp-file-accessible-directory-p)
(ange-ftp-real-file-accessible-directory-p): New defuns.
(ange-ftp-nslookup-host, ange-ftp-start-process):
Use `ange-ftp-real-file-accessible-directory-p'.
(file-accessible-directory-p): Put `ange-ftp' property. (Bug#29874)
Stefan Monnier [Wed, 27 Dec 2017 23:42:01 +0000 (18:42 -0500)]
Remove uses of `cl` from test/ subdirectory
* test/lisp/gnus/gnus-tests.el: Remove unneeded (require 'cl).
* test/lisp/net/gnutls-tests.el: Use cl-lib and pcase.
Stefan Monnier [Wed, 27 Dec 2017 22:49:39 +0000 (17:49 -0500)]
(delayed-after-hook-functions): Tighten the code a bit
* lisp/subr.el (delayed-mode-hooks, delayed-after-hook-functions):
Use defvar-local.
(run-mode-hooks): Reset delayed-after-hook-functions before running
those functions, in case an error is signaled.
* lisp/emacs-lisp/derived.el (define-derived-mode): Don't duplicate code.
Glenn Morris [Wed, 27 Dec 2017 18:50:45 +0000 (10:50 -0800)]
Fix recent rfc2231 avoidance of cl
* lisp/mail/rfc2231.el (rfc2231-parse-string)
(rfc2231-encode-string): Replace cl forms with cl-lib versions.
Eli Zaretskii [Wed, 27 Dec 2017 18:23:10 +0000 (20:23 +0200)]
Fix documentation of delsel and of killing text
* doc/emacs/killing.texi (Appending Kills): Make sure the text
with 2 spaces is not broken between 2 lines.
* doc/emacs/mark.texi (Using Region): Remove the sentence about
delsel mode that describes behavior which exists even without
delsel mode turned on. Suggested by Petteri Hintsanen
<petterih@iki.fi> in emacs-manual-bugs@gnu.org.
* lisp/delsel.el (delete-selection-mode): Doc fix.
Glenn Morris [Wed, 27 Dec 2017 18:00:16 +0000 (10:00 -0800)]
Merge from origin/emacs-26
fd35804971 (origin/emacs-26) * doc/lispref/strings.texi (Case Convers...
89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar.
a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes.
2ebc8dc3b6 Fix curved quotes in printed manual
e4a881b5cf Say that "gnus-cloud" is a parody name
13c59d0a83 More improvements for text.texi
7850b7620e Adjudicate review comments for the "Text" chapter of user ...
d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f...
f3819ad13e In C-h k <mouse-n>, alert user to existence of any matchin...
99054fbef9 * net/eww.el (eww): Handle URLs without host part.
de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc...
720ed0b533 Avoid crashes when ':eval' deletes our frame
9105c9aa34 Fix scrolling up in pixel-scroll.el
b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual
289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent...
cf36c82127 Avoid some overfull lines in PDF lispref
b07b56a351 Avoid some overfull lines in PDF manual
6b3118f025 * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M...
7ffb7b1e01 ; lispref nil/t markup fixes
# Conflicts:
# doc/emacs/text.texi
Glenn Morris [Wed, 27 Dec 2017 17:55:35 +0000 (09:55 -0800)]
* doc/lispref/strings.texi (Case Conversion):
Use a TeX font that support ligatures.
Charles A. Roelli [Wed, 27 Dec 2017 17:25:30 +0000 (18:25 +0100)]
* doc/misc/speedbar.texi (Top): Fix grammar.
Charles A. Roelli [Wed, 27 Dec 2017 14:53:34 +0000 (15:53 +0100)]
* lisp/subr.el (with-silent-modifications): Doc fixes.
Stefan Monnier [Tue, 26 Dec 2017 21:08:21 +0000 (16:08 -0500)]
Eliminate last uses of 'cl' in lisp/mail/
* lisp/mail/binhex.el: Use lexical-binding and avoid cl.
(binhex-push-char): Remove unused arg 'count'.
(binhex-decode-region-external): Remove unused var 'status'.
* lisp/mail/flow-fill.el: Use lexical-binding and avoid cl.
* lisp/mail/footnote.el: Reduce redundancy.
(footnote-roman-lower-regexp, footnote-roman-upper-regexp)
(footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
(footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
(footnote--hebrew-numeric): Simplify.
(footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.
* lisp/mail/hashcash.el: Use lexical-binding and avoid cl.
(hashcash-verify-payment): Use pcase.
* lisp/mail/ietf-drums.el: Use lexical-binding and avoid cl.
(ietf-drums-token-to-list): Remove unused var 'e'.
* lisp/mail/rfc2231.el: Use lexical-binding and avoid cl.
* lisp/mail/uudecode.el: Use lexical-binding and avoid cl.
(uudecode-char-int): Remove unused 'eval-and-compile' wrapper.
(uudecode-decode-region-external): Remove unused 'status' var.
(uudecode-string-to-multibyte): Remove.
(uudecode-decode-region-internal): Use decode-coding-string instead.
* lisp/mail/yenc.el: Use lexical-binding and avoid cl.
Eli Zaretskii [Tue, 26 Dec 2017 20:43:32 +0000 (22:43 +0200)]
Fix curved quotes in printed manual
* doc/emacs/text.texi (Quotation Marks): Fix curved quote
characters in the printed version of the manual.
Charles A. Roelli [Tue, 26 Dec 2017 11:46:39 +0000 (12:46 +0100)]
Fix highlighting in query-replace with non-nil replace-char-fold
* lisp/replace.el (replace-highlight): Bind
'isearch-regexp-function' in the same way that function
'replace-search' does, so as to respect the value of
'replace-char-fold'. (Bug#24356)
Stefan Monnier [Tue, 26 Dec 2017 05:08:48 +0000 (00:08 -0500)]
* lisp/mail/footnote.el: Reduce redundancy in roman&hebrew defs
(footnote-roman-lower-regexp, footnote-roman-upper-regexp)
(footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
(footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
(footnote--hebrew-numeric): Simplify.
(footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.
Stefan Monnier [Tue, 26 Dec 2017 04:32:24 +0000 (23:32 -0500)]
* lisp/mail/footnote.el: Use lexical-binding
(footnote--renumber): Mark arg 'from' as unused.
(footnote-add-footnote, footnote-renumber-footnotes)
(footnote-back-to-message): Remove unused argument 'arg'.
Boruch Baum [Tue, 26 Dec 2017 04:27:26 +0000 (23:27 -0500)]
* lisp/mail/footnote.el: Replace "Footnote-" prefix with "footnote--"
(footnote-section-tag): Remove trailing space.
Stefan Monnier [Tue, 26 Dec 2017 03:51:23 +0000 (22:51 -0500)]
* lisp/register.el: Use cl-generic
(registerv): Make it a "normal"struct.
(registerv-make): Declare obsolete.
(register-val-jump-to, register-val-describe, register-val-insert):
New generic functions.
(jump-to-register, describe-register-1, insert-register): Use them.
* lisp/emacs-lisp/cl-generic.el: Prefill a combination of struct+typeof.
(cl--generic-prefill-dispatchers): Allow a list of specializers.
Paul Eggert [Mon, 25 Dec 2017 22:19:37 +0000 (14:19 -0800)]
Say that "gnus-cloud" is a parody name
Eli Zaretskii [Mon, 25 Dec 2017 19:49:37 +0000 (21:49 +0200)]
More improvements for text.texi
* doc/emacs/text.texi (Outline Motion): Avoid unneeded
repetition. Suggested by Petteri Hintsanen <petterih@iki.fi> in
emacs-manual-bugs@gnu.org.
Chris Zheng [Mon, 25 Dec 2017 17:21:58 +0000 (19:21 +0200)]
Fix MS-Windows build broken by recent changes in json.c
* src/json.c [WINDOWSNT] (fn_json_object_get): Define.
(init_json_functions) [WINDOWSNT]: Load json_object_get from DLL.
(Bug#29848)
Copyright-paperwork-exempt: yes
Stefan Monnier [Mon, 25 Dec 2017 17:12:17 +0000 (12:12 -0500)]
* lisp/rtree.el: Use lexical-binding and not 'cl'.
Lars Ingebrigtsen [Mon, 25 Dec 2017 10:29:41 +0000 (11:29 +0100)]
lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.
* lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.
Michael Albinus [Mon, 25 Dec 2017 11:27:06 +0000 (12:27 +0100)]
Fix Bug#29822
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
Fix handling of restricted shells. (Bug#29822)
Paul Eggert [Sun, 24 Dec 2017 19:29:36 +0000 (11:29 -0800)]
Make main_thread_id private
* src/sysdep.c (main_thread_id) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
Now static.
Paul Eggert [Sun, 24 Dec 2017 19:25:11 +0000 (11:25 -0800)]
On non-MS-Windows, omit unnecessary polling functions
* src/keyboard.c (poll_for_input_1) [!CYGWIN && !DOS_NT]: Remove.
(input_polling_used) [!DOS_NT]: Remove.
Eli Zaretskii [Sun, 24 Dec 2017 18:47:06 +0000 (20:47 +0200)]
Adjudicate review comments for the "Text" chapter of user manual
* doc/emacs/text.texi (Text): Rearrange text for clarity. Add
cross-reference to the Org manual. Make the cross-reference to
Outline Mode appear in online manuals as well (the conditional was
a forgotten remnant from time immemoriam).
(Paragraphs): Add a note that 'paragraph-start' and
'paragraph-separate' should not be anchored.
(Auto Fill): Remove redundant text. Suggested by Petteri
Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
Andreas Schwab [Sun, 24 Dec 2017 11:15:55 +0000 (12:15 +0100)]
* lisp/url/url-http.el
(url-http-wait-for-headers-change-function): Change message to
url-http-debug.
Philipp Stephani [Sun, 24 Dec 2017 13:12:19 +0000 (14:12 +0100)]
Add more Unicode test cases for JSON conversion
* test/src/json-tests.el (json-parse-string/string)
(json-serialize/string, json-serialize/invalid-unicode)
(json-parse-string/invalid-unicode): Add more Unicode test cases.
Philipp Stephani [Wed, 13 Dec 2017 21:41:28 +0000 (22:41 +0100)]
Accept alists when serializing JSON
* src/json.c (lisp_to_json_toplevel_1): Also accept alists
representing objects.
* src/json.c (Fjson_serialize): Update docstring.
* test/src/json-tests.el (json-serialize/object): Add unit tests for
serializing alists.
* doc/lispref/text.texi (Parsing JSON): Document that serialization
functions accept alists.
Philipp Stephani [Mon, 18 Dec 2017 23:04:29 +0000 (00:04 +0100)]
JSON serialization: reject duplicate keys in hashtables
* src/json.c (lisp_to_json_toplevel_1): Reject duplicate keys in
hashtables.
* test/src/json-tests.el (json-serialize/object-with-duplicate-keys):
Add unit tests.
Alan Mackenzie [Sun, 24 Dec 2017 10:29:52 +0000 (10:29 +0000)]
In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
, and instruct her to hold the mouse button to display its documentation.
* lisp/help.el (help-downify-mouse-event-type): New function.
(help-read-key-sequence, describe-key): handle double-click-time being nil or
t.
(describe-key): Print out instructions for displaying documentation of
matching mouse down key sequence command when such exists.
Andreas Schwab [Sat, 23 Dec 2017 20:38:36 +0000 (21:38 +0100)]
* net/eww.el (eww): Handle URLs without host part.
Alan Mackenzie [Sat, 23 Dec 2017 18:00:10 +0000 (18:00 +0000)]
Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
that S-down-mouse-1 is bound. We fix this by reporting on the "latest" mouse
event of a sequence which is bound.
* lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
a list. Return the latest one which has a binding.
Eli Zaretskii [Sat, 23 Dec 2017 11:59:07 +0000 (13:59 +0200)]
Avoid crashes when ':eval' deletes our frame
* src/xdisp.c (display_mode_element): Signal an error if
':eval' somehow deletes the frame whose window we are
redisplaying. (Bug#29726)
Tak Kunihiro [Sat, 23 Dec 2017 09:16:40 +0000 (11:16 +0200)]
Fix scrolling up in pixel-scroll.el
* lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
down when EOB is shown at the top. This function is reverted to
commit
1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
Eli Zaretskii [Sat, 23 Dec 2017 08:34:42 +0000 (10:34 +0200)]
Fix problems with ligatures in PDF version of ELisp manual
* doc/lispref/strings.texi (Case Conversion): Avoid problems with
ligatures in printed versions of the manual. (Bug#29818)
Boruch Baum [Sat, 23 Dec 2017 04:06:22 +0000 (23:06 -0500)]
* lisp/mail/footnote.el (footnote-align-to-fn-text): New config var
(footnote-mode): Declare.
(Footnote--get-area-point-min): Fix last change to use 'car` instead of
the undefined 'first'.
(Footnote--calc-fn-alignment-column, Footnote--fill-prefix-string)
(Footnote--adaptive-fill-function): New functions.
(footnote-mode): Use them.
Stefan Monnier [Sat, 23 Dec 2017 03:34:15 +0000 (22:34 -0500)]
* lisp/textmodes/fill.el (adaptive-fill-function): Change default
Use 'ignore' rather than nil since they behave identically, except that
'ignore' interacts correctly with add/remove-function.
Boruch Baum [Sat, 23 Dec 2017 02:44:52 +0000 (21:44 -0500)]
* lisp/mail/footnote.el: Misc changes in preparation for more
(footnote-section-tag-regexp): Don't require the trailing space.
(Footnote--point-in-body-p, Footnote--get-area-point-min)
(Footnote--get-area-point-max): New functions.
(Footnote-narrow-to-footnotes, Footnote-text-under-cursor): Use them.
Stefan Monnier [Fri, 22 Dec 2017 21:00:07 +0000 (16:00 -0500)]
(elisp-flymake-byte-compile): Handle killed buffer in sentinel
* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
Don't burp if the source-buffer has been killed.
Glenn Morris [Fri, 22 Dec 2017 21:26:08 +0000 (16:26 -0500)]
Avoid some overfull lines in PDF lispref
* doc/lispref/commands.texi (Reading One Event):
* doc/lispref/display.texi (SVG Images):
* doc/lispref/frames.texi (Size Parameters):
* doc/lispref/syntax.texi (Categories):
* doc/lispref/windows.texi (Frame Layouts with Side Windows):
Avoid overfull lines.
Glenn Morris [Fri, 22 Dec 2017 21:24:24 +0000 (16:24 -0500)]
Avoid some overfull lines in PDF manual
* doc/emacs/display.texi (Display Custom):
* doc/emacs/search.texi (Other Repeating Search):
* doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
Glenn Morris [Fri, 22 Dec 2017 21:22:13 +0000 (16:22 -0500)]
* doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
Fix ref.
Glenn Morris [Fri, 22 Dec 2017 18:45:46 +0000 (13:45 -0500)]
; lispref nil/t markup fixes
Glenn Morris [Fri, 22 Dec 2017 18:23:16 +0000 (13:23 -0500)]
Merge from origin/emacs-26
34fcfc5 (origin/emacs-26, emacs-26) * lisp/emacs-lisp/inline.el (defi...
f7a62c2 Fix doc string of 'footnote-style-alist'
c3b6742 Improve documentation of selecting windows
861d110 Improve documentation of records
22b3075 * etc/NEWS: Mention the removal of pinentry.el. (Bug#27445)
689526b Fix interactive spec of 'semantic-ia-show-variants'
90ca37f Fix documentation of 'mouse-drag-and-drop-region' and friends
d60faf3 Improve detection of speller version in ispell.el
a0e3b06 Document 'mouse-drag-and-drop-region' options and mention the...
164e84c Fix uses of 'nil' and 'non-nil' in manuals and a few more min...
798f07f Document that mode commands should be idempotent.
ad2a47c ; * src/xdisp.c (extend_face_to_end_of_line): Fix last change.
88ddf53 Fontify a CPP construct correctly when a comment follows with...
de7de9c Prevent infloop in redisplay on TTY frames
293720e Fix loss of documentation face in certain CC Mode doc comment...
# Conflicts:
# etc/NEWS
# lisp/mail/footnote.el
Glenn Morris [Fri, 22 Dec 2017 18:18:06 +0000 (13:18 -0500)]
; Merge from origin/emacs-26
The following commit was skipped:
8a73b70 Remove pinentry.el
Stefan Monnier [Fri, 22 Dec 2017 15:29:20 +0000 (10:29 -0500)]
* lisp/progmodes/cperl-mode.el: Split table for electric kwd abbrevs
(cperl-mode-electric-keywords-abbrev-table): New abbrev table.
(cperl-mode-abbrev-table): Use it.
Stefan Monnier [Fri, 22 Dec 2017 15:06:49 +0000 (10:06 -0500)]
* lisp/progmodes/cperl-mode.el: Use cl-lib. Fix comment convention
(defgroup, defcustom,
defface, x-color-defined-p, uncomment-region)
(ps-extend-face-list, eval-after-load, turn-on-font-lock):
Assume defined.
(cperl-calculate-indent): Use 'functionp' to test if a value is a function.
Boruch Baum [Fri, 22 Dec 2017 14:39:44 +0000 (16:39 +0200)]
Support Hebrew-style footnotes in footnote.el
* lisp/mail/footnote.el (footnote-hebrew-numeric-regex)
(footnote-hebrew-symbolic-regex): New defconsts.
(Footnote-hebrew-numeric, Footnote-hebrew-symbolic): New functions.
(footnote-style-alist): Add new Hebrew styles. Doc fix.
(footnote-style): Add new Hebrew styles. (Bug#29759)
Ian Johnson [Fri, 22 Dec 2017 14:11:00 +0000 (16:11 +0200)]
Support French password prompts in shell
French punctuation rules require a space (preferably non-breaking)
before the colon.
* lisp/comint.el (comint-password-prompt-regexp): Support
spaces (including non-breaking spaces) before and after password
prompt colon. (Bug#29729)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Fri, 22 Dec 2017 13:49:57 +0000 (15:49 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Ted Zlatanov [Fri, 22 Dec 2017 13:49:21 +0000 (08:49 -0500)]
* lisp/registry.el (registry-collect-prune-candidates): Skip invalid entries
Francesco Potortì [Fri, 22 Dec 2017 13:48:19 +0000 (15:48 +0200)]
Improve Rmail Subject normalization when replying
* lisp/mail/rmail.el (rmail-simplified-subject): A more thorough
implementation which removes more prefixes from Subject.
(Bug#29659)
Eli Zaretskii [Fri, 22 Dec 2017 13:31:32 +0000 (15:31 +0200)]
Improve the description of 'electric-quote-replace-double'
* etc/NEWS: Improve the description of 'electric-quote-replace-double'.
(Bug#29806)
Eli Zaretskii [Fri, 22 Dec 2017 10:37:19 +0000 (12:37 +0200)]
* lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
Eli Zaretskii [Fri, 22 Dec 2017 10:25:09 +0000 (12:25 +0200)]
Fix doc string of 'footnote-style-alist'
* lisp/mail/footnote.el (footnote-style-alist): Remove a reference
to non-existing files from doc string. (Bug#29759)
Eli Zaretskii [Fri, 22 Dec 2017 10:18:12 +0000 (12:18 +0200)]
Improve documentation of selecting windows
* doc/lispref/windows.texi (Basic Windows, Selecting Windows):
Clarify what selecting a window means for keyboard input, and that
input focus may need to be considered when selecting windows on
other frames. See
http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
for more details.
Eli Zaretskii [Fri, 22 Dec 2017 10:04:23 +0000 (12:04 +0200)]
Improve documentation of records
* doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
* doc/lispref/records.texi (Records): Recommend that record type
names use package-naming conventions.
* etc/NEWS: Add the naming convention recommendation for record
types.
Eli Zaretskii [Fri, 22 Dec 2017 09:48:15 +0000 (11:48 +0200)]
* etc/NEWS: Mention the removal of pinentry.el. (Bug#27445)
Eli Zaretskii [Fri, 22 Dec 2017 09:32:38 +0000 (11:32 +0200)]
Fix interactive spec of 'semantic-ia-show-variants'
* lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
interactive spec to match the function's expectations. (Bug#29770)